//
//  UIImageView+extension.swift
//  SHWeibo2.0
//
//  Created by 黄礼潮 on 16/2/26.
//  Copyright © 2016年 黄礼潮. All rights reserved.
//


import UIKit

extension UIImageView{
    /// 使用图像名称创建 UIImageView
    ///
    /// - parameter imageName: imageName
    ///
    /// - returns: UIImageView
    convenience init(cz_imageName imageName: String) {
        self.init(image: UIImage(named: imageName))
    }

    /// 设置图像
    ///
    /// - parameter urlString:       urlString
    /// - parameter placeholderName: placeholderName
    /// - parameter size:            裁切图像的尺寸，默认 CGSizeZero，不裁切
    /// - parameter isCorner:        是否圆角裁切，默认不裁切，只有在 size != CGSizeZero 有效
    /// - parameter backColor:       背景颜色，默认颜色 白色，只有在 size != CGSizeZero 有效
    func cz_setImage(urlString:String?,
          CZPlaceholderImage:String?,
          size:CGSize = CGSizeZero,
          isCorner: Bool = false,
          backColor: UIColor? = UIColor.whiteColor()){
    
            // 占位图像
            var placeholderImage: UIImage?
            
            if CZPlaceholderImage != nil {
                placeholderImage = UIImage(named: CZPlaceholderImage!)
            }
            
            // 如果 url 为 nil
            guard let urlString = urlString,
                let url = NSURL(string: urlString) else {
                    // 如果 urlString 为nil，但是指定了占位图像，显示占位图像
                    image = placeholderImage
                    
                    return
            }
            //判断裁剪尺寸
            if size == CGSizeZero {
                sd_setImageWithURL(url, placeholderImage:placeholderImage)
                 return // 害死我
            }
       //对网络下载的图片进行裁剪，也有可能没有下载下来
        sd_setImageWithURL(url, placeholderImage:placeholderImage) { (image, _, _, _) -> Void in
            
            guard let image = image else{
            
              return
            }
            //执行裁剪
            image.cz_drawImage(size,backColor:backColor,isCorner: isCorner) { (image) -> () in
                
                self.image = image
            }
            
       }
 
    }
}